import axios from 'axios';

export default {
    data() {
        return {
            // 文本pre
            textPre: '',

            handlers: [
                {
                    accepts: ['.pdf'],
                    fileType: 'pdf',
                    handler: this.renderPdf
                },
                {
                    accepts: ['.txt', '.json', '.js', '.css', '.java', '.py', '.html', '.jsx', '.ts', '.tsx', '.xml', '.md', '.log'],
                    fileType: 'text',
                    handler: this.renderText
                },
            ]
        }
    },
    methods: {
        // 如果是 .docx .xlsx .txt(文本类型), 需要获取获取文件数据
        getFileData(fileUrl, responseType = 'blob', method = 'GET') {
            return axios({
                url: fileUrl,
                method,
                responseType // 配置响应数据的格式(默认json)
            }).then((res) => {
                if (res.data.size <= 0) console.log('空文件?')
                // 如果url地址中没有后缀名, 需要在res.data.type中获取
                // console.log( res );
                return res.data
            }, (e) => console.log(e))
        },
        // text转pre
        async renderText() {
            console.log('renderText');

            const text = await this.getFileData(this.fileUrl, 'text')
            this.textPre = text

            console.log('renderText..finished');
        },

        // pdf转canvas
        async renderPdf() {
            console.log('renderPdf');

            console.log('renderPdf..finished');
        },
    },
}
